1. T : Type
2. T List
3. u : T 4. v : T List
5. x, y:T.
5. no_repeats(T;v) adjacent(T;v;x;y) (z:T. z before yv (z before xv (z = x)))
6. x : T 7. y : T 8. no_repeats(T;[u / v])
9. 0 < ||v||
10. x = u 11. y = hd(v)
12. z : T 13. z before yv ((z = u & (xv)) z before xv) (z = x)
C1: 8. no_repeats(T;v)
C1: 9. (uv)
C1: 10. 0 < ||v||
C1: 11. x = u C1: 12. y = hd(v)
C1: 13. z : T C1: 14. z before yv C1: ((z = u & (xv)) z before xv) (z = x)
C.